
<div class='title'>$ajax()</div>
<div class="sub">
    <div class='text indent'>
        Jet中封装了ajax方法，在Jet方法中，可以直接使用 this.$ajax() 调用，该方法会返回一个XMLHttpRequest对象，其与 Jet.$.ajax 等价。请看一个例子：
    </div>
    <div class='j-code not-test' disabled width='99%' height='auto'>
new Jet({
func:{
    useAjax:function(a){//可选参数，后面的是默认参数
        this.$ajax({
            type: a.type || "get",
            url: a.url || "",
            async: a.async || "true",
            data: a.data || null,
            dataType: a.dataType || "text",
            contentType: a.contentType || "application/x-www-form-urlencoded",//设置为null表示不设置 Content-Type
            beforeSend: a.beforeSend ||function() {},
            success: a.success ||function() {},
            error: a.error ||function() {},
            base: a.base|| Jet.prototype.base,
            header:a.header|| {}
        });
    }
}
});
    </div>

    <div class='title'>$ajax.load()</div>
    <div class='text'>
        使用$ajax除了可以与服务器端通信，还可以加载文件，不过必须在http服务器环境下才可以。可以使$ajax，也可以使用已经为开发者封装好的$ajax.load方法。
        该方法支持三个参数，第一个参数是 请求文件的路径，第二个是成功的回调，第三个是失败的回调，第三个参数是可选的。请看一个例子：
    </div>
    <div class='text'>
        关于第一个参数，若是设置了Jet.prototype.$ajax.base，那么load方法会自动将 参数前面拼接上base参数，若是您不希望进行这种拼接，请使用 @ 前缀 如 '@http://localhost...' 。请看一个例子：
    </div>
    <div class='j-code' disabled width='99%' height='auto'>
&lt;button jon='loadFile'>点击加载文件&lt;/button>
&lt;button jon='this.js=""'>收起内容&lt;/button>
&lt;div j='js' style='white-space: pre'>&lt;/div>
&lt;script>
new Jet({
    data:{
        js:""
    },func:{
        loadFile:function(){
            if(this.js!==''){
                return;
            }
            var _this=this;
            this.js='正在加载中...';
            this.$ajax.load(
                '@https://www.theajack.com/jet/src/html/intro/contents.html', 
                function(result){ 
                        _this.js=result
                }
            )
        }
    }
});
&lt;/script>
    </div>
        
    <div class='text'>以下是输出的html:
        <div class='out'>
            <button jon='loadFile'>点击加载文件</button>
            <button jon='this.js=""'>收起内容</button>
            <div j='js' style='white-space: pre'></div>
        </div>
    </div>
    <div class='text indent'>
        加载文件也可以使用Jet.$.load()方法，详情请见Jet.$章节。
    </div>

    <div class='text indent'>
        双竖线后的是各属性的默认值，base属性只在Jet.prototype.$ajax中可以使用，在 Jet.$.ajax() 方法中不存在。该属性表示是否采用设置的根地址，根地址使用 Jet.prototype.$ajax.base 或 this.$ajax.base 来设置。
    </div>
    <div class='title'>1.$ajax.base</div>
    <div class='text indent'>
        $ajax.base属性用于设置一个发送请求的默认的根地址，该属性所有的Jet对象共用一个。
    </div>
    <div class='title'>2.$ajax.xhr</div>
    <div class='text indent'>
        $ajax.base属性用于获取上一个http请求的XMLHttpRequest对象，该属性所有的Jet对象共用一个。如果要获取其他的XMLHttpRequest对象，请使用 $ajax 对象的返回值。
    </div>
    <div class='title'>3.$ajax.get()</div>
    <div class='text indent'>
            $ajax.get() 是对get请求的封装，该方法有四个参数，依次为 url,data,successCallback,errorCallback
    </div>
    <div class='title'>4.$ajax.post()</div>
    <div class='text indent'>
            $ajax.post() 是对post请求的封装，该方法有四个参数，依次为 url,data,successCallback,errorCallback
    </div>
    <div class='title'>5.$ajax.abort()</div>
    <div class='text indent'>
            $ajax.abort() 方法可以终止上一个发送的请求。$ajax.load 也可以被该方法终止。
    </div>
</div>    

<script>
    new Jet({
        data:{
            js:""
        },func:{
            loadFile:function(){
                if(this.js!==''){
                    return;
                }
                var _this=this;
                this.js='正在加载中...';
                this.$ajax.load(
                    '@https://www.theajack.com/jet/src/html/intro/contents.html', 
                    function(result){ 
                            _this.js=result
                    }
                )
            }
        }
    });
</script>